home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-iiir-transponders-01.txt < prev    next >
Text File  |  1993-10-26  |  16KB  |  337 lines

  1. IETF IIIR Working Group                                   Chris Weider
  2. INTERNET--DRAFT                                    Merit Network, Inc.
  3. <draft-ietf-iiir-transponders-01.txt>                    October, 1993
  4.  
  5.                         Resource Transponders
  6.  
  7. Status of this Memo
  8.  
  9. In this paper, the author describes a mechanism for automatically 
  10. maintaining resource location systems which contain pointers to 
  11. resources.
  12.  
  13.         This document is an Internet Draft.  Internet Drafts are working
  14.         documents of the Internet Engineering Task Force (IETF), its      
  15.         Areas, and its Working Groups.  Note that other groups may also 
  16.         distribute working documents as Internet Drafts.
  17.  
  18.         Internet Drafts are draft documents valid for a maximum of six
  19.         months. Internet Drafts may be updated, replaced, or obsoleted
  20.         by other documents at any time. It is not appropriate to use 
  21.         Internet Drafts as reference material or to cite them other than
  22.         as a "working draft" or "work in progress."
  23.  
  24.         Please check the I-D abstract listing contained in each Internet
  25.         Draft directory to learn the current status of this or any 
  26.         other Internet Draft.
  27.  
  28.         This Internet Draft expires April 22, 1993.
  29.  
  30. Abstract
  31.  
  32. Although a number of systems have been created in the last several years
  33. to provide resource location and navigation on the Internet, the 
  34. information contained in these systems must be maintained and updated by 
  35. hand. This paper describes an automatic mechanism, the resource 
  36. transponder, for maintaining resource location information.
  37.  
  38. Author's note:
  39.  
  40. This document is being circulated as a research paper; consequently
  41. there are no protocol specifications or anything of the sort. I hope 
  42. that we can go from here and actually get some implementation 
  43. experience.
  44.  
  45. 1. Introduction
  46.  
  47. In the past few years, we've seen the invention and growth of a number 
  48. of information location systems on the Internet, e.g. archie, Gopher, 
  49. and WAIS. However, as these systems have become widely deployed, a 
  50. number of maintenance and security problems have arisen with them. Some 
  51. of the major ones
  52.  
  53. INTERNET--DRAFT        Resource Transponders                 Weider
  54.  
  55.   1) Out of necessity, most of these systems contain pointers to the
  56.      desired resources rather than the resources themselves. Therefore,
  57.      if a resource becomes obsolete, is modified, or is moved, the
  58.      location system must be updated by hand. Some systems, such as 
  59.      Archie and Veronica, proactively create updated indexes by
  60.      contacting every resource on a certain time schedule. However, this
  61.      means that the system can be wildly out of date, depending on the
  62.      interval between polls of the resources. This process can be highly 
  63.      inefficient depending on the percentage of information that has
  64.      changed.
  65.  
  66.   2) Conversely, anyone who maintains a resource that they wish indexed
  67.      must keep track of every directory which contains a pointer to that
  68.      resource, so that if it is modified, all the directories can be
  69.      updated. This obviously is an optimistic scenario.
  70.  
  71.   3) Many organizations which have installed these systems do not have
  72.      the available resources or expertise to maintain the information in
  73.      the systems. Thus we have long periods where the information
  74.      drifts, then a short period when the information is updated again. 
  75.  
  76.   4) Even though these systems are almost always out of date today, this
  77.      problem will become increasingly harder for humans to manage by
  78.      hand as everyone on the net becomes their own publisher. Also, as
  79.      the net speeds up and people rely more and more on accurate
  80.      information, human-induced delays in updates of these systems will
  81.      become increasingly intolerable.
  82.  
  83.   5) Most, if not all, of these systems provide no security whatsoever;
  84.      if a pointer to a resource appears in a locator system, then it is
  85.      assumed to be meant for public consumption. There are many
  86.      potential information providers who would like to use publicly
  87.      deployed information systems to publish to a very selected
  88.      clientele, and do not wish to allow the whole net access to their
  89.      resources.
  90.  
  91. 2: Requirements for a solution
  92.  
  93. There are several objectives which must be met by any proposed solution 
  94. to these problems:
  95.  
  96.   1) We need to decrease the personnel resources needed for indexing and
  97.      pointer maintenance.
  98.  
  99.   2) We need to increase the reliability and accuracy of the information
  100.      held in resource location systems.
  101.  
  102.   3) We need to provide some mechanisms for security, particularly by
  103.      mediating access to the resources
  104.  
  105. INTERNET--DRAFT        Resource Transponders                 Weider
  106.  
  107.  
  108.   4) We need to make it easy for non-experts, such as librarians,
  109.      archivists, and database maintainers, to announce their new
  110.      resources to the various resource location services.
  111.  
  112. Many of these problems can be solved by a 'resource transponder' 
  113. mechanism.
  114.  
  115. 3: Resource Transponders
  116.  
  117. The resource transponder system works by adding two new layers to every 
  118. resource: metainformation and an agent to update a resource location 
  119. system (RLS) with that metainformation. The metainformation layer is 
  120. physically attached to every resource, so that when the resource is 
  121. moved or altered, the metainformation is immediately available to update 
  122. the RLS. The agent layer may also be attached to the resource or may not 
  123. be; the implications of both of these options are discussed in detail 
  124. below.
  125.  
  126. 3.1: Metainformation
  127.  
  128. The metainformation layer of a given resource contains any information 
  129. which might be required to create a pointer to this resource, and any 
  130. information which may be useful for indicating how to catalog or index 
  131. the resource. For example, the metainformation layer of a text document 
  132. might contain such things as the Uniform Resource Name (URN) of the 
  133. document [Weider 1993], the title of the document, a Uniform Resource 
  134. Locator (URL) for the document [Berners-Lee 1993], the size of the 
  135. document, etc. Thus the metainformation layer contains data _about_ the 
  136. resource to which it is attached.
  137.  
  138. This metainformation is expected to be modifiable. For example, the 
  139. metainformation layer may contain a history of where this particular
  140. copy of a resource has been.  Let's say that a resource/transponder pair
  141. has been moved. When it gets to its new location, the agent can then 
  142. attempt to contact the resource at its old location to determine whether 
  143. the resource is still there (in which case the agent will simply cause 
  144. the new location to be added to the RLS) or whether the resource is not 
  145. there (in which case the agent can tell the RLS to add the current 
  146. pointer and delete the old one). 
  147.  
  148. A number of other possibilities for the contents of the metainformation
  149. level are contained in section 4.1.    
  150.  
  151. 3.2: Agents
  152.  
  153. The agent layer of a given resource contains an executable program which
  154. is responsible for reading the metainformation attached to the resource 
  155. and using that information to update a RLS. It is also responsible for
  156.  
  157. INTERNET--DRAFT        Resource Transponders                 Weider
  158.  
  159. updating the metainformation where necessary and for running any 
  160. indexing programs required by the RLS it is attempting to update. 
  161.  
  162. When the tools required to build agents are constructed and deployed, 
  163. the author expects the agents to begin mediating access to the resource, 
  164. particularly for agents attached to resources which are not currently
  165. considered active processes, such as text files and digitized images.
  166. In this futuristic model, someone wishing to read a given document would
  167. have to first negotiate access to the data with the agent; the agent 
  168. would then be responsible for delivering the data to the client. 
  169. However, it is expected that this type of agent will not be widely 
  170. deployed for some time. 
  171.  
  172. Different ways of implementing agents are discussed in section 4.2.
  173.  
  174. 4: Models for implementations of resource transponders
  175.  
  176. 4.1: Models for implementations of the metainformation layer
  177.  
  178. The metainformation layer can be implemented in a number of ways, 
  179. depending on the resource with which it is associated. For an 'active' 
  180. resource, such as an on-line catalog or a mail-based service, the 
  181. metainformation can be stored in a file with a well-known name in the 
  182. software distribution. Alternatively, the metainformation could be 
  183. stored as a record in the data which the resource serves. For a text 
  184. document, the metainformation could be stored as the first or last N 
  185. bytes of the document (which would break a number of editors and file 
  186. display techniques, but would guarantee that the metainformation is 
  187. moved with the resource), or perhaps as a file with a logically 
  188. associated name (paper2.meta associated with paper2.txt, for example). 
  189. The problem with this second approach is that the user must know that 
  190. they have to move the metainformation with the file itself, or things 
  191. will start breaking. If an agent is explicitly attached to the resource, 
  192. the agent could contain the metainformation internally.
  193.  
  194. In any case, the resource transponder system must be able to guarantee 
  195. that the metainformation is moved when the resource is moved.
  196.  
  197. 4.2: Models for implementations of the agents
  198.  
  199. The agent layer can also be implemented in a number of ways, depending
  200. on such things as system loads, desired sizes of resources, multitasking
  201. capabilities, etc.
  202.  
  203. The easiest and for many unitasking systems the cleanest way of 
  204. implementing an agent is to have one agent per computer. Then when a 
  205. resource is moved onto that computer, the agent is explicitly activated 
  206. and notified where the new resource is. For example, let's say that 
  207. someone wishes to download a copy of a resource and then let the RLS 
  208. know that that resource is available for public consumption. She would 
  209. download the resource and then run the agent, which would then notify
  210.  
  211. INTERNET--DRAFT        Resource Transponders                 Weider
  212.  
  213. the RLS and update the metainformation attached to the resource. This 
  214. model could also be used to track files on a LAN, or to provide local 
  215. location services with no need to run a larger RLS.
  216.  
  217. Another model for implementation of the agent is to have one agent per
  218. resource. In this model, the agent would be moved along with the
  219. resource and the metainformation. The agent could be implemented in a 
  220. file which would be associated with the resource; in that case the agent 
  221. would have to be explicitly activated when the resource was moved. 
  222. Alternatively, the agent/metainformation/resource system could be 
  223. implemented as one system, or in one file. In this case, the agent 
  224. itself would always be active, and would be responsible for mediating 
  225. access to the resource. When one did a 'telnet' to a resource with an 
  226. active agent, the agent would accept the telnet connection and be 
  227. responsible for providing security and translation for the data. This 
  228. could provide great security for resources while still allowing pointers 
  229. to them to be placed in public RLS's; the data in the resource could be 
  230. encrypted, with the agent responsible for decrypting it. This option is 
  231. explored more fully in Section 5.
  232.  
  233. 5: Transponders and Objects
  234.  
  235. Section 4.2 details several methods of implementing resource transponder
  236. agents. The technique of encapsulating the metainformation *and* the 
  237. data for the resource 'inside' the agent brings up several interesting 
  238. possibilities. As noted, once the data is encapsulated in the agent, all 
  239. actions on the resource are mediated by the agent. In essence, 
  240. encapsulating the resource this way allows the resource to be treated as 
  241. an active, 'animate' object on the network. With the appropriate 
  242. functionality in the agent, the resource could also maintain additional 
  243. information about where it has been, and can also provide large subsets 
  244. of the general maintenance functionality required by a rapidly changing 
  245. information mesh. 
  246.  
  247. 5.1: Possible Functionality of Active Resources
  248.  
  249. This is an exploration of several possible functions which may be 
  250. available on resource objects; this is not intended to be an exhaustive 
  251. list.
  252.  
  253. 5.1.1: Replicate
  254.  
  255. Sending this command to a resource object causes it to attempt to create 
  256. a copy of itself at a given location in the network. To achieve this, 
  257. the resource will have to negotiate permissions with the target system. 
  258. This functionality would allow:
  259.  
  260. Automatic mirroring of resource objects. If a transponder is attached to 
  261. a resource which is being updated frequently, and that resource is being 
  262. mirrored in a number of other places, the transponder agent could use 
  263. this function to maintain the other copies
  264.  
  265. INTERNET--DRAFT        Resource Transponders                 Weider
  266.  
  267. Load balancing. In the resource object model, access to a resource is 
  268. gained by negotiation with the attached transponder agent. Thus, as a 
  269. part of the metainformation, the agent can maintain load information, 
  270. such as a history of access information, elapsed time for given 
  271. operations, etc. The agent can then determine if there is an access or 
  272. load problem because of heavy demand for the data in the resource. If 
  273. there is a load problem, it can then replicate itself and notify the 
  274. resource location system that a new copy has been created. 
  275.  
  276. 5.1.2: Annotate
  277.  
  278. In the resource object model, every resource exists on the net as an 
  279. independent entity, moving around, copying itself, or perhaps just 
  280. sitting still. Many of these resources will be academic papers, books, 
  281. journal articles, even interorganizational memos. Discovery of a given 
  282. resource will require a sophisticated resource location system, which we 
  283. are just now starting to build with the various information delivery 
  284. tools available. However, once we've found an interesting resource, it 
  285. will be a much more difficult task to find the body of commentary and 
  286. annotation on this resource. The resource object can alleviate this 
  287. problem by maintaining a pointer to a body of commentary in the 
  288. metainformation of the resource. When someone wishes to annotate a given 
  289. resource, or to retrieve annotations created by other people, they would 
  290. then send an 'annotate' command to the resource object, and the resource 
  291. object would then return the pointer to the resource which contains the 
  292. annotations. Since the resource object which contains the annotations 
  293. would also have a transponder mechanism, annotations could then be added 
  294. and the resource location system would be updated.
  295.  
  296. 5.1.3: Destroy
  297.  
  298. This function would cause the resource object to be deleted after the 
  299. resource location system was updated. The agent would be responsible for 
  300. verifying that the requester had the proper permissions to delete the 
  301. resource; in addition, the resource object could determine how many 
  302. other copies of itself existed and could inform the requester, asking 
  303. for a confirmation before deleting itself.
  304.  
  305. 6: Conclusion
  306.  
  307. As shown in sections 3 and 4, the resource transponder or something like 
  308. it could be enormously valuable no matter how it is implemented. In 
  309. addition, active resource objects allow for additional functionality 
  310. which will be very helpful for the next phases of the Internet 
  311. Information Infrastructure. Therefore, I wish to encourage the reader to 
  312. look at implementation strategies and help build this.
  313.  
  314. INTERNET--DRAFT        Resource Transponders                 Weider
  315.  
  316. 7: References
  317.  
  318. [Berners-Lee 1993] Berners-Lee, Tim, 'Uniform Resource Locators', 
  319. Internet Draft, July 1993. Available as
  320. <ftp://nic.merit.edu/documents/ietf/draft-ietf-uri-url-01.txt>
  321.  
  322. [Weider 1993] Weider, Chris, and Peter Deutsch, 'Uniform Resource 
  323. Names', Internet Draft, October 1993. Available as
  324. <ftp://nic.merit.edu/documents/ietf/draft-ietf/uri-resource-names-
  325. 01.txt>
  326.  
  327. 8: Author's address
  328.  
  329. Chris Weider, clw@merit.edu
  330. Merit Network, Inc.
  331. 2901 Hubbard, Pod G
  332. Ann Arbor, MI 48105
  333.  
  334. Phone: (313) 747-2730
  335. Fax: (313) 747-3185
  336.  
  337.